package com.service;

import com.dao.AdminDAO;
import com.dao.ProgrameTypeDAO;
import com.pojo.Admin;
import com.pojo.ProgrameType;
import com.util.PasswordUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProgrameTypeService {

     @Autowired
     private ProgrameTypeDAO  programeTypeDAO;

     /**
      * 获取所有节目类别
      * @return
      */
     public List getAll()
     {
         return programeTypeDAO.findAll(Sort.by(Sort.Direction.ASC,"orders"));
     }

     /**
      * 修改状态
      * @param id  编号
      * @param s   状态0，1
      */
     public void updateStatus(int id, int s) {
          ProgrameType  type =  programeTypeDAO.getOne(id);
          type.setStatus(s);
          programeTypeDAO.save(type);
     }

     /**
      * 根据id修改名称
      * @param id
      * @param name
      */
     public void updateNameById(int id, String name) {
          ProgrameType type = programeTypeDAO.getOne(id);
          type.setName(name);
          programeTypeDAO.save(type);
     }

     /**
      * 改顺序
      * @param id  当前id
       * @param type 1上移 2下移
      */
     public void changeSort(int id, int type) {
          //找当前
          ProgrameType p1 = programeTypeDAO.getOne(id);
          int sort1 = p1.getOrders();
          //找另一个
          int sort2 = (type==1 ? sort1-1 : sort1+1);
          ProgrameType p2 = programeTypeDAO.findProgrameTypeByOrders(sort2);

          p1.setOrders(sort2);
          p2.setOrders(sort1);

          programeTypeDAO.save(p1);
          programeTypeDAO.save(p2);

     }
}
